package gepes.negocio;

import java.util.Collection;

import gepes.dao.ProfesorCategoriaDAO;
import gepes.dao.TipoMonedaDAO;
import gepes.dao.ProfesorDAO;
import gepes.exepcion.DAOExcepcion;
import gepes.modelo.Categoria;
import gepes.modelo.Profesor;
import gepes.modelo.ProfesorCategoria;
import gepes.modelo.TipoDocumento;

public class GestionProfesor {

	public boolean validar(Profesor vo) {
		if (vo.getApePat().equals("") || vo.getApeMat().equals("")
				|| vo.getNombres().equals("") || vo.getMail().equals("")
				|| vo.getPassword().equals("")
				|| vo.getNroDocumento().equals("")) {
			return false;
		}
		return true;
	}

	public void eliminarCategoria(int id, int codprofesor) throws DAOExcepcion {
		ProfesorCategoriaDAO dao = new ProfesorCategoriaDAO();
		dao.eliminar(id, codprofesor);
	}

	public ProfesorCategoria obtenerProfCate(int id, int codprofesor)
			throws DAOExcepcion {
		ProfesorCategoriaDAO dao = new ProfesorCategoriaDAO();
		return dao.obtener(id, codprofesor);
	}

	public ProfesorCategoria insertarCategoria(int idprofesor, int idCategoria)
			throws DAOExcepcion {
		ProfesorCategoriaDAO dao = new ProfesorCategoriaDAO();
		ProfesorCategoria vo = new ProfesorCategoria();
		vo.setProfesor(new Profesor(idprofesor));
		vo.setCategoria(new Categoria(idCategoria));
		if (dao.existe(idCategoria, idprofesor) > 0) {
			throw new DAOExcepcion("Profesor ya registro esa categoria");
		}
		return dao.insertar(vo);
	}
	
	public Profesor insertar(String apepaterno, String apematerno,
			String nombre, String sexo, int codtipodoc, String nrodoc,
			String mail, String celular, String password, String perfil,
			String foto) throws DAOExcepcion {
		ProfesorDAO dao = new ProfesorDAO();
		Profesor vo = new Profesor();
		vo.setApePat(apepaterno);
		vo.setApeMat(apematerno);
		vo.setNombres(nombre);
		vo.setSexo(sexo);
		vo.setTipoDocumento(new TipoDocumento(codtipodoc, "", true));
		vo.setNroDocumento(nrodoc);
		vo.setMail(mail);
		vo.setNroCelular(celular);
		vo.setPassword(password);
		vo.setPerfil(perfil);

		if (dao.existe(mail, "mail") > 0) {
			throw new DAOExcepcion("Usuario ya registro ese correo");
		}

		if (dao.existe(nrodoc, "nrodocumento") > 0) {
			throw new DAOExcepcion("Usuario ya registro ese nro documento");
		}
		return (Profesor) dao.insertar(vo, foto);
	}
	public Profesor editar(int id,String apepaterno, String apematerno,
			String nombre, String sexo, int codtipodoc, String nrodoc,
			 String celular, String perfil,
			String foto) throws DAOExcepcion {
		ProfesorDAO dao = new ProfesorDAO();
		Profesor vo = new Profesor();
		vo.setApePat(apepaterno);
		vo.setApeMat(apematerno);
		vo.setNombres(nombre);
		vo.setSexo(sexo);
		vo.setTipoDocumento(new TipoDocumento(codtipodoc, "", true));
		vo.setNroDocumento(nrodoc);		
		vo.setNroCelular(celular);
		vo.setPerfil(perfil);
		vo.setCodUsuario(id);
		return (Profesor) dao.editar(vo);
	}
}
